No default construction if an allocator must be provided.
Use the given allocator for allocations.
Inserts the given item into the end of the buffer.
Removes the item at the end of the buffer.
Removes the item at the start of the buffer.
Inserts the given item into the end of the buffer.
Accesses to the item at the end of the buffer.
Removes all contents from the buffer.
Accesses to the item at the start of the buffer.
Inserts the given item into the end of the buffer.
Inserts the given item into the start of the buffer.
bufferi
buffer[]
buffer[i .. j]
buffer[i .. j]
Removes the item at the end of the buffer.
Removes the item at the start of the buffer.
Ensures capacity is at least as large as specified.
Array that provides constant time (amortized) appending and popping at either end, as well as random access to the elements.